/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package blogic;

import bentity.bePerfil;
import bentity.bePerfilxPrivilegio;
import bentity.bePrivilegio;
import dao.daoPerfil;
import java.sql.SQLException;
import java.util.ArrayList;

/**
 *
 * @author luis
 */
public class blPerfil {
    private blPerfilxPrivilegio gestorPerfilxPrivilegios;
    private blPrivilegio gestorPrivilegios;

   public int registrar(bePerfil perfil, ArrayList<bePrivilegio> listaPrivilegios) throws SQLException {
        return ((new daoPerfil()).registrarPerfil(perfil, listaPrivilegios));
    }

    public int modificar(bePerfil perfil, ArrayList<bePrivilegio> listaPrivilegios) throws SQLException {
        return ((new daoPerfil()).actualizarPerfil(perfil, listaPrivilegios));
    }

    public int eliminar(bePerfil perfil) throws SQLException {
        return ((new daoPerfil()).eliminarPerfil(perfil));
    }

    public bePerfil queryByNombre(String nombre) {
        return ((new daoPerfil()).obtenerPerfil(nombre));
    }

    public ArrayList<bePerfil> queryAll() throws SQLException{
        return ((new daoPerfil()).queryAll());
    }

    public bePerfil queryById(int idPerfil) {
        return ((new daoPerfil()).queryById(idPerfil));
    }

    public ArrayList<bePrivilegio> obtenerListaPrivilegios(int idPerfil) {
        gestorPerfilxPrivilegios = new blPerfilxPrivilegio();
        ArrayList<bePerfilxPrivilegio> listaPerfilxPrivilegio = new ArrayList<bePerfilxPrivilegio>();
        listaPerfilxPrivilegio = gestorPerfilxPrivilegios.queryById(idPerfil);

        ArrayList<bePrivilegio> listaPrivilegios = new ArrayList<bePrivilegio>();
        gestorPrivilegios = new blPrivilegio();
        bePrivilegio privilegio;

        for (int i=0; i<listaPerfilxPrivilegio.size(); i++){
            privilegio = gestorPrivilegios.queryById(listaPerfilxPrivilegio.get(i).getIdPrivilegio());
            listaPrivilegios.add(privilegio);
        }

        return listaPrivilegios;
    }
}
